/*----------------------------------------------------------------------------------------------
* This source file is part of Kinect-Fighter (A Fighting Game controlled 
*	by Kinect and Keyboard.)
*
* Copyright (c) 2012-2012 Hu Guozhu
*
* Usage of this program is free for non-commercial use and licensed under the
* the terms of the MIT License.
*
*-------------------------------------------------------------------------------------------------*/

#ifndef		_KF_KFInputManager_H_
#define		_KF_KFInputManager_H_

#include "stdafx.h"
#include "KFPrerequisites.h"
#include "KFClientApp.h"

namespace KinectFighter
{
		/** Input Device: including keyboard/mouse/joystick
	 *	Kinect as a input device is managered by KFKinectManager
	 */
	class KFInputManager
	{
		DECLARE_SINGLETON(KFInputManager);
	public:
		KFInputManager();
		~KFInputManager();
		
		void Init( KFClientApp* pApp, bool isNexclusive);
		void Destroy();
		void Capture();

		CEGUI::MouseButton KFInputManager::convertOISMouseButtonToCegui(int buttonID);

	
	protected:
		OIS::InputManager	*mOISInputManager;
		OIS::Keyboard		*mOISKeyboard;
		OIS::Mouse			*mOISMouse;

	public:
		OIS::InputManager*	getOISInputManager()	{ return mOISInputManager;}
		OIS::Keyboard*		getOISKeyboard()		{ return mOISKeyboard;}
		OIS::Mouse*			getOISMouse()			{ return mOISMouse;		}
		void changeInputDevice(bool oldFullScreen,bool newFullScreen);
	};


}
#endif